cmake_minimum_required(VERSION 3.16)
project(json_validator)

set(CMAKE_CXX_STANDARD 14)
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

add_executable(json_validator unit_test.h main.cpp json_validator.h
        cJSON.h cJSON.c
        JSON_checker.h JSON_checker.cpp json_checker_wrapper.h
        json_checker_wrapper_test.cpp
        json_validator_demo.cpp
        json_validator_benchmark.cpp
        json_validator_validate_test.cpp
        json_validator_parse_json_test.cpp
        json_validator_parse_members_test.cpp
        json_validator_parse_member_test.cpp
        json_validator_parse_elements_test.cpp
        json_validator_parse_element_test.cpp
        json_validator_parse_value_test.cpp
        json_validator_parse_array_test.cpp
        json_validator_parse_object_test.cpp
        json_validator_parse_null_test.cpp
        json_validator_parse_false_test.cpp
        json_validator_parse_true_test.cpp
        json_validator_parse_string_test.cpp
        json_validator_parse_characters_test.cpp
        json_validator_parse_character_test.cpp
        json_validator_parse_ws_test.cpp
        json_validator_parse_escape_test.cpp
        json_validator_parse_number_test.cpp
        json_validator_parse_integer_test.cpp
        json_validator_parse_exponent_test.cpp
        json_validator_parse_fraction_test.cpp
        json_validator_parse_hex_test.cpp
        json_validator_parse_digits_test.cpp
        json_validator_parse_digit_test.cpp
        json_validator_parse_one_nine_test.cpp
        json_validator_parse_sign_test.cpp
        json_validator_left_test.cpp)